From c7aa3385842a6f48bf7156c07978fca3728a8ba3 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 8 Jan 2010 11:25:22 +0000 Subject: [PATCH] tmem: Reduce verbosity on failed memory allocations. Reduce tmem complaints per Jan's concerns in this thread http://lists.xensource.com/archives/html/xen-devel/2010-01/msg00155.html Now complains only if tmem HAS memory to relinquish and memory request has order>0. Signed-off by: Dan Magenheimer --- xen/common/tmem.c | 4 ++-- xen/include/xen/tmem_xen.h | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/xen/common/tmem.c b/xen/common/tmem.c index ab1b3cd8f6..eed3192efb 100644 --- a/xen/common/tmem.c +++ b/xen/common/tmem.c @@ -2177,7 +2177,7 @@ static NOINLINE int do_tmem_control(struct tmem_op *op) ret = tmemc_set_var(op->u.ctrl.cli_id,subop,op->u.ctrl.arg1); break; case TMEMC_QUERY_FREEABLE_MB: - ret = tmh_freeable_mb(); + ret = tmh_freeable_pages() >> (20 - PAGE_SHIFT); break; case TMEMC_SAVE_BEGIN: case TMEMC_RESTORE_BEGIN: @@ -2474,7 +2474,7 @@ EXPORT void *tmem_relinquish_pages(unsigned int order, unsigned int memflags) unsigned long evicts_per_relinq = 0; int max_evictions = 10; - if (!tmh_enabled()) + if (!tmh_enabled() || !tmh_freeable_pages()) return NULL; #ifdef __i386__ return NULL; diff --git a/xen/include/xen/tmem_xen.h b/xen/include/xen/tmem_xen.h index 6095db8248..394251dfef 100644 --- a/xen/include/xen/tmem_xen.h +++ b/xen/include/xen/tmem_xen.h @@ -246,10 +246,9 @@ static inline unsigned int tmem_subpage_maxsize(void) return tmh_mempool_maxalloc; } -static inline unsigned long tmh_freeable_mb(void) +static inline unsigned long tmh_freeable_pages(void) { - return (tmh_avail_pages() + _atomic_read(freeable_page_count)) >> - (20 - PAGE_SHIFT); + return tmh_avail_pages() + _atomic_read(freeable_page_count); } static inline unsigned long tmh_free_mb(void) -- 2.30.2